//
//  VNCPreferences.h
//  vnsea
//
//  Created by Chris Reed on 11/17/07.
//  Copyright 2007 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

//! @name Preference Keys
//@{
/*
//! Key for the mouse tracks preference.
extern NSString * kShowMouseTracksPrefKey;

//! Key for the disconnect on suspend preference.
extern NSString * kDisconnectOnSuspendPrefKey;

//! Key for the mouse down delay preference.
extern NSString * kMouseDownDelayPrefKey;

//! Length of time that mouse tracks are visible.
extern NSString * kMouseTracksFadeTimePrefKey;

//! Whether to display the scrolling icon.
extern NSString * kShowScrollingIconPrefKey;

//! Whether to display the scale percent while zooming.
extern NSString * kShowZoomPercentPrefKey;
extern NSString * kZoomFastPrefKey;
extern NSString * kScrollFastPrefKey;
extern NSString * kScrollInvert;
extern NSString * kUseTextIcons;
extern NSString * kShowAboutPage;
extern NSString * kShowPic;
extern NSString * kAllowRotation;
extern NSString * kEnableInertia;
extern NSString * kEnableScroll;
extern NSString * kRegistered;
extern NSString * kNewRegistered;
extern NSString * kMaxWidth;
extern NSString * kMaxHeight;
extern NSString * kMacCPUFix;
*/
//@}

#define kDefaultWidth @"1280"
#define kDefaultHeight @"1200"

/*!
 * @brief Shared preferences class.
 */
@interface VNCPreferences : NSObject
{
}

//! @brief Returns the single shared instance of the VNCPreferences class.
+ (VNCPreferences *)sharedPreferences;

//! @name Getters
//@{
- (BOOL)showAboutPage;
- (BOOL)showPic;
- (BOOL)showMouseTracks;
- (BOOL)disconnectOnSuspend;
- (float)mouseDownDelay;
- (float)mouseTracksFadeTime;
- (BOOL)showScrollingIcon;
- (BOOL)showZoomPercent;
- (BOOL)shouldZoomFast;
- (BOOL)shouldScrollFast;
- (BOOL)scrollInvert;
- (BOOL)useTextIcons;
- (BOOL)enableScroll;
- (BOOL)enableInertia;
- (BOOL)allowRotation;
- (BOOL)registered;
- (BOOL)newRegistered;
- (int)maxHeight;
- (int)maxWidth;
- (BOOL)macCPUFix;
- (int)tmsCount;
- (int)macCount;
- (int)winCount;
- (int)svOnCount;
- (int)svOffCount;
- (int)svHDCount;
- (int)loResCount;
- (int)hiResCount;
- (int)trySvCount;
- (int)lastVersion;
- (int)lastWebVersion;
- (int)lastDisplayedWebVersion;
- (NSString*)licenseKey;
- (NSString*)serial;

//@}

//! @name Setters
//@{
- (void)setSerial:(NSString*)serial;
- (void)setLicenseKey:(NSString*)licenseKey;
- (void)setLastVersion:(int)lv;
- (void)setLastWebVersion:(int)lv;
- (void)setLastDisplayedWebVersion:(int)lv;
- (void)incTrySvCount;
- (void)incLoResCount;
- (void)incHiResCount;
- (void)incSvHDCount;
- (void)incSvOffCount;
- (void)incSvOnCount;
- (void)incWinCount;
- (void)incMacCount;
- (void)incTmsCount;
- (void)setMacCPUFix:(BOOL)fix;
- (void)setMaxHeight:(int)maxHeight;
- (void)setMaxWidth:(int)maxWidth;
- (BOOL)setNewRegistered:(BOOL)reg;
- (BOOL)setRegistered:(BOOL)reg;
- (void)setShowMouseTracks:(BOOL)showTracks;
- (void)setDisconnectOnSuspend:(BOOL)disconnect;
- (void)setMouseDownDelay:(float)delay;
- (void)setMouseTracksFadeTime:(float)fadeTime;
- (BOOL)setShowScrollingIcon:(BOOL)showIcon;
- (BOOL)setShowZoomPercent:(BOOL)showPercent;
- (BOOL)setShouldZoomFast:(BOOL)zoomFast;
- (BOOL)setShouldScrollFast:(BOOL)scrollFast;
- (BOOL)setScrollInvert:(BOOL)scrollInvert;
- (BOOL)setUseTextIcons:(BOOL)useTextIcons;
- (BOOL)setShowAboutPage:(BOOL)a;
- (BOOL)setShowPic:(BOOL)a;
- (BOOL)setAllowRotation:(BOOL)allowRotation;
- (BOOL)setEnableInertia:(BOOL)enableInertia;
- (BOOL)setEnableScroll:(BOOL)enableScroll;
//@}

@end

